![]() |
![]() ![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() ![]() |
![]() |
| KOMPUTERY | Ile płacić programistom? Napisałeś na czyjeś zamówienie program liczący n linii. Zajęło Ci to k godzin czasu, a każdą z nich cenisz a +zł. Rachunek jest prosty, powinieneś otrzymać k*zł. W wielu jednak przypadkach zleceniodawca chciałby wiedzieć, czy podane przez ciebie liczby są zgodne z prawdą. Przy tego typu problemach pewną pomocą może być prosty model matematyczny tego zagadnienia prezentowany w książce B.W. Boehma, "Software Engineering Economics", wydanej przez Pretnice Hall w 1981 roku. Zgodnie z tym modelem, liczba osobomiesięcy potrzebna do napisania programu liczącego n linii wynosi:
N
a
M=2.4 * [
----------------]
1000 gdzie a jest współczynnikiem zależnym od rodzaju programu: a=1.05 dla zwykłych programów, =1.20 dla modyfikacji istniejącego programu. Drugą wielkością charakteryzującą opisywany model jest ilość czasu potrzebna na stworzenie oprogramowania przez zespół ludzi T=2.5*Mb. Gdzie b, podobnie jak a, zależy od rodzaju programu: a=0.38, 0.35, 0.32. Podzielenie M przez T pozwala odpowiedzieć na pytanie ilu programistów należy zatrudnić, aby jak najszybciej stworzyć dane oprogramowanie. Ilustracją przedstawionych wzorów jest poniższy przykład. Dla zwykłego programu liczącego 32000 linii otrzymujemy: 1.05 M=2.4*(32) =91osobomiesięcy, 0.38 T=2.5*(91) =14 miesięcy. Oznacza to, że postawione zadanie może być wykonane przez zespół 6-7 programistów pracujących przez 14 miesięcy. Gdy porównamy wyniki wynikające z tego modelu z własnymi doświadczeniami, to często okaże się, że w swojej pracy uzyskujemy 500-600% "normy". Niestety, przekonanie o naszej wyższości nad profesjonalistami, może być złudne. Podane tutaj czasy dotyczą całego procesu tworzenia oprogramowania, łącznie z wymyśleniem algorytmu, napisaniem kodu, jego uruchomieniem i testowaniem. Programy pisane przez amatorów są często niewystarczająco przetestowane, a przy ich pisaniu nierzadko korzystamy z gotowych recept postępowania. Poza tym naprawdę trudno jest napisać w warunkach domowych gotowy profesjonalny produkt, który nie 'padnie' przy pierwszej lub drugiej demonstracji, a jednocześnie będzie reprezentował odpowiedni poziom jakościowy.
Autor:
![]() ![]() ![]() ![]() |
|